Depth map generation in structured light system

ABSTRACT

Techniques are disclosed for depth map generation in a structured light system where an optical transmitter is tilted relative to an optical receiver. The optical transmitter has a transmitter optical axis around which structured light spreads, and the optical receiver has a receiver optical axis around which a reflection of the structured light can be captured. The transmitter optical axis and the receiver optical axis intersect one another. A processing circuit compensates for the angle in the tilt in the reflected pattern to generate the depth map.

This application claims the benefit of U.S. Provisional PatentApplication No. 62/274,600, filed Jan. 4, 2016, the entire content ofwhich is hereby incorporated herein by reference.

TECHNICAL FIELD

This disclosure relates to depth map generation and more particularly todepth map generation in a structured light active sensing system.

BACKGROUND

Structured light active sensing systems transmit and receive patternscorresponding to spatial codes (codewords), to generate a depth map fora scene. The farther away an object is from the transmitter andreceiver, the closer the received spatial code projection is to itsoriginal position at the receiver(s), as the outgoing spatial codeprojection and reflected incoming spatial code projection are moreparallel. Conversely, the closer an object is to the transmitter andreceiver, the farther the received spatial code projection is from itsoriginal position at the receiver(s). Thus, the difference between areceived and a transmitted codeword position indicates the depth of anobject in the scene. Structured light active sensing systems use theserelative depths to generate a depth map, or a three dimensionalrepresentation of a scene.

SUMMARY

This disclosure describes example techniques of determining a depth mapof objects where a transmitter that transmits structured light to theobjects is angled relative to the receiver which receives a reflectionof the structured light from the objects. For instance, the transmitterhas an angle of view relative to a transmitter optical axis along whichthe structured light is spread, and the receiver has an angle of viewrelative to a receiver optical axis along which the reflected structuredlight is captured. In examples described in this disclosure, thetransmitter optical axis and the receiver optical axis intersect due tothe transmitter being angled relative to the receiver. As described inmore detail, having the transmitter and receiver angled relative to oneanother may allow for a closer field of view and allow for easierdesign.

In one example, the disclosure describes a method of image processing,the method comprising transmitting structured light, with an opticaltransmitter, the optical transmitter having a first angle of viewrelative to a transmitter optical axis, receiving, with an opticalreceiver, a reflection of the structured light, the optical receiverhaving a second angle of view relative to a receiver optical axis,wherein the optical transmitter is angled relative to the opticalreceiver so that the transmitter optical axis intersects the receiveroptical axis, and wherein a position of the optical transmitter relativeto the optical receiver is constant, and generating a depth map for oneor more images based on the received reflection of the structured light.

In one example, the disclosure describes a device for image processing,the device comprising an optical transmitter configured to transmitstructured light, the optical transmitter having a first angle of viewrelative to a transmitter optical axis, an optical receiver configuredto receive a reflection of the structured light, the receiver having asecond angle of view relative to a receiver optical axis, wherein theoptical transmitter is angled relative to the optical receiver so thatthe transmitter optical axis intersects the receiver optical axis, andwherein a position of the optical transmitter relative to the opticalreceiver is constant, and a processing circuit configured to generate adepth map for one or more images based on the received reflection of thestructured light.

In one example, the disclosure describes a computer-readable storagemedium including instructions stored thereon that when executed causeone or more processors of a device for image processing to cause anoptical transmitter to transmit structured light, the opticaltransmitter having a first angle of view relative to a transmitteroptical axis, and generate a depth map for one or more images based on areceived reflection of the structured light, wherein the receivedreflection is received, with an optical receiver, the optical receiverhaving a second angle of view relative to a receiver optical axis,wherein the optical transmitter is angled relative to the opticalreceiver so that the transmitter optical axis intersects the receiveroptical axis, and wherein a position of the optical transmitter relativeto the optical receiver is constant.

In one example, the disclosure describes a device for image processing,the device comprising means for transmitting structured light, the meansfor transmitting having a first angle of view relative to a transmitteroptical axis, means for receiving a reflection of the structured light,the means for receiving having a second angle of view relative to areceiver optical axis, wherein the means for transmitting is angledrelative to the means for receiving so that the transmitter optical axisintersects the receiver optical axis, and wherein a position of themeans for transmitting is constant relative to the means for receiving,and means for generating a depth map for one or more images based on thereceived reflection of the structured light.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description, drawings, and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are conceptual diagrams illustrating examples oftransmitter field and receiver field for generating a depth map.

FIG. 2 is a block diagram of a device for image processing configured toperform one or more example techniques described in this disclosure.

FIG. 3 is a flow chart of a method of image processing for performingone or more example techniques described in this disclosure.

FIG. 4 is a block diagram illustrating a transmitter device and areceiver device of FIG. 2 in greater detail.

FIG. 5 is a graph illustrating the onset of the near field of view andfar field of view as a function of yaw.

FIGS. 6A and 6B are graphs illustrating the increase in the near rangefield of view overlap.

FIGS. 7A and 7B are graphs illustrating the increase in near range fieldof view overlap as a function of yaw and distance.

FIG. 8 is a graph illustrating pattern distortion.

DETAILED DESCRIPTION

To generate stereoscopic images that a user perceives to encompass athree-dimensional space, a device generates a depth map of the scene orobject in the images to be rendered. One way to generate the depth mapis in a structured light system, also referred to as a verged activestereo system. In the structured light system, a transmitter deviceprojects a known pattern or code on a scene and a receiver devicereceives the pattern or code to obtain a depth map. For instance, thetransmitter device transmits a structured light that includes thepattern or code on to the scene or object, and the receiver devicereceives a reflection of the structured light from the scene or object.The receiver device compares the received pattern or code to a list ofknown patterns or codes to confirm that the received pattern or code isvalid.

Then, based on a position of where a receiver received the pattern orcode, the receiver device may determine an estimate of the distance ofthe scene or object from the receiver. Based on the determineddistances, the receiver device generates a depth map. A processingcircuit (which may be a programmable and/or fixed function processingcircuit) may then use the generated depth map to generate graphical datafor one or more images (e.g., a graphics processing circuit (GPU) usesthe depth map to generate stereoscopic images).

The transmitter device includes an optical transmitter to transmit thestructured light and the receiver device includes an optical receiver toreceive the structured light. The optical transmitter and the opticalreceiver are separated by a distance (B). The optical transmittertransmits the structured light, where the structured light encompasses aprojection field. For instance, the optical transmitter has an angle ofview relative to a transmitter optical axis. The transmitter opticalaxis is a line that extends outward from the optical transmitter and theangle of view defines the area across which the structured lightspreads.

Similarly, the optical receiver has an angle of view relative to areceiver optical axis. The receiver optical axis is a line that extendsoutward from the optical receiver and the angle of view defines the areaacross which the optical receiver is able to capture the reflection ofthe structured light.

Because the optical transmitter and optical receiver are separated bydistance B, the area over which the structured light spreads and thearea over which the optical receiver can capture light are not the same.This results in areas where the structured light does not reach or areaswhere a reflection of the structured light cannot be captured. The angleof view of the transmitter and receiver also affects the projectionfield and the capture field. Accordingly, the optical transmitter andthe optical receiver each have a respective field of view (e.g.,projection field for the transmitter and capture field for thereceiver), and the field of view overlap defines how much of theprojection field and capture field overlap.

Designing a structured light system to generate the depth map is complexbecause great care may be needed to select components as characteristicsof each component interplays with other characteristics of othercomponents resulting in a careful balance of components. For instance,speckle noise tolerance sets a lower bound on aperture size, where anaperture size for the receiver defines the opening through which lightis captured and an aperture size of the transmitter defines the openingthrough which light is projected. The aperture size for the receiver andthe transmitter may be different, but the techniques are not so limited.

The depth of field (DoF) defines the focus range and sets the upperbound on the F-number, which is the ratio of a lens's focal length(e.g., the point where light converges from a lens) to the diameter ofthe aperture. The F-number therefore sets the lower bound on the focallength, and the focal length sets upper bound on field of view. Thebaseline distance (B) between transmitter and receiver sets the upperbound on system accuracy, and the baseline reduces the field of viewoverlap.

The field of view overlap sets the near field of view. The near field ofview (e.g., how close an object can be within the field of view overlap)is particularly affected by all these example characteristics.

In some cases, having a near field of view that is relatively close maybe desirable. For instance, if the device is a mobile device, the usermay desire to generate a depth map of objects relatively close to themobile device. However, to achieve a near field of view that isrelatively close to the mobile device may require very precise selectionof optical components needed to generate the depth map because, asdescribed above, setting the field of view is interrelated with aperturesize, focal length, and speckle noise tolerance as a few examples.

The techniques described in this disclosure provide a way to have a nearfield of view that is relatively close to the optical transmitter andoptical receiver without limiting choices of optical components used forgenerating the depth map. With the techniques described in thisdisclosure, the setting of the near field of view is decoupled from thespecific components allowing for setting a near field of view for depthmap generation for a wide variety of optical components and structuredlight systems.

In examples described in this disclosure, the optical transmitter istilted or angled relative to the optical receiver. For instance, ratherthan the optical transmitter and the optical receiver being oriented inthe same direction (e.g., facing the same direction), there is an angleof tilt between the optical transmitter and the optical receiver. Theangle of tilt between the optical transmitter and the optical receivercauses the projection field to tilt and intersect the capture fieldcloser to the device as compared to the case where the opticaltransmitter and the optical receiver are oriented in the same direction.For example, if the optical transmitter and the optical receiver wereoriented in the same direction, then the transmitter optical axis andthe receiver optical axis would be parallel. In the examples describedin this disclosure, tilt in the transmitter relative to the receiverresults in the transmitter optical axis and the receiver optical axisnot being parallel but intersecting.

The receiver device may capture the reflection of the structured lightin examples where the optical transmitter is angled relative to theoptical receiver. The receiver device determines the depth map based onthe captured reflected structured light. However, in this case, thereceiver device may need to compensate for the angle of the tilt indetermining the depth map. For example, the receiver device may scale aposition of each element in the received reflection of the structuredlight based on an angle of tilt of the optical transmitter relative tothe optical receiver and a focal length of the optical receiver. Thereceiver device may generate the depth map based on the scaled positionof each element in the received reflection of the structured light, eachelement in the structured light that corresponds to a respective elementin the received reflection of the structured light, the focal length ofthe optical receiver, and a distance between the optical transmitter andthe optical receiver (e.g., a baseline distance).

Accordingly, in examples described in this disclosure, the projector(i.e., optical transmitter) is intentionally tilted or angled toincrease near field of view. The tilting or angling of the opticaltransmitter creates a “yaw” in the optical transmitter, and thetechniques modify the calculations to accommodate for the known yaw. Asdescribed in more detail, the yaw also results in distorting thereflected pattern or code. However, in some cases, the receiver devicemay not need to compensate for the yaw to confirm that the reflectedpattern or code is a valid pattern or code.

FIGS. 1A and 1B are conceptual diagrams illustrating examples oftransmitter field and receiver field for generating a depth map. FIGS.1A and 1B illustrate device 10 that includes transmitter device 14 thatis coupled to optical transmitter 16 and receiver device 18 that iscoupled to optical receiver 20. Examples of device 10 include a desktopcomputer, a laptop computer, a tablet, a wireless communication device,a phone, a television, a camera, a display device, a digital mediaplayer, a video game console, a video gaming console, or a videostreaming device.

Examples of transmitter device 14 and receiver device 18 include amicroprocessor, an integrated circuit, a digital signal processor (DSP),a field programmable gate array (FPGA), or application specificintegrated circuit (ASIC). In general, transmitter device 14 andreceiver device 18 include processing circuitry including programmablecircuitry. Examples of optical transmitter 16 include a laser, andexamples of optical receiver 20 include one or more optical sensors. Insome examples, the laser outputs light (i.e., the depth map) in theinfrared spectrum and the sensor receives the light (i.e., the depthmap) in the infrared spectrum.

Although optical transmitter 16 is illustrated as part of transmitterdevice 14 and optical receiver 20 is illustrated as part of receiverdevice 18, the techniques described in this disclosure are not solimited. In some examples, transmitter device 14 and receiver device 18may not include respective ones of optical transmitter 16 and opticalreceiver 20. In some examples, transmitter device 14 and receiver device18 may be formed in the same integrated circuit along with otherprocessing circuits forming a system on chip (SoC).

Transmitter device 14 may be configured to cause optical transmitter 16to transmit structured light that includes a pattern or codeword. Forinstance, transmitter device 14 may include a local memory that stores apattern or codewords used for depth map generation. A processing circuitof transmitter device 14 retrieves a pattern or codewords and causesoptical transmitter 16 to transmit the pattern or codeword. The patternor codeword reflects from objects and is received, through a lens oraperture, as a pattern or codeword reflection by optical receiver 20.

The reflections of the pattern or codeword are captured at differentlocations on optical receiver 20. For instance, assume that a firstobject is a first distance away from device 10, and a second object is asecond distance away from device 10. In this example, the pattern orcodeword that reflects off of the first object would appear at a firstlocation on optical receiver 20 and the pattern or codeword thatreflects off of the second object would appear at a second location onoptical receiver 20. In this example, the disparity between the firstlocation and the second location (e.g., the difference in the positionsof the first location and the second location) indicates the relativedepth of the first and second objects to one another and the positionsof the first location and the second location indicate the absolutedepth of the first and second objects.

In some examples, the further away an object is from optical transmitter16 and optical receiver 20, the closer the received projected pattern orcodeword is from its original position at optical receiver 20 (e.g., theoutgoing projection and incoming projection are more parallel).Conversely, the closer an object is from optical transmitter 16 andoptical receiver 20, the further the received projected pattern orcodeword is from its original position at optical receiver 20. Thus, thedifference between received and transmitted codeword position may beused as an indicator of the depth of an object. In one example, suchdepth (e.g., relative depth) may provide a depth value for objectsdepicted by each pixel or grouped pixels (e.g., regions of two or morepixels) in an image.

The pattern or codeword may be considered as including a plurality ofelements, where the elements in the structured light together form thepattern or codeword. Each element in the structured light is located ata particular location at the time of transmission and then located at aparticular location on optical receiver 20. Receiver device 18 mayinclude a local memory that stores pattern or codewords used for depthmap generation. A processing circuit of receiver device 18 compares theelements of the received pattern or codewords to those stored in thelocal memory to confirm that the received pattern or codeword is a validpattern or codeword and determine the depth map.

For instance, and element in the structured light is located at aparticular location as determined and the element received in thereflected structured light is located at a particular location. Theprocessing circuit within the receiver device 18 then determines adisparity (e.g., difference) between the location of each element in thetransmitted structured light and the received reflected structuredlight, and based on the disparity determines the depth map.

Optical transmitter 16 transmits the structured light along optical axis22A that spreads to generate a projected field. For instance, opticalaxis 22A extends outward perpendicular to optical transmitter 16 and thestructured light spreads along angle of view 17 relative to optical axis22A. Optical receiver 20 similarly includes a capture field that spreadsaround optical axis 24 along angle of view 19. As one example, angle ofview 17 is 60° and angle of view 19 is 53°, but other angles arecontemplated.

As illustrated in FIG. 1A, the projection field and the capture fieldintersect and where the projection field and the capture field overlapsets the field of view overlap. If an object is in the field of viewoverlap, then the object receives the structured light and opticalreceiver 20 receives the reflected structured light. If an object isoutside the field of view overlap, then the object does not receive thestructured light because the object is only in the capture field and notin the projection field or optical receiver 20 does not receive thereflected structured light because the object is only in the projectionfield.

In some cases, an object may be in neither the projection field nor thecapture field. For instance, if the object is closer than a near fieldof view, then the object may be neither in the projection field or thecapture field. As illustrated in FIG. 1A, the projection field and thecapture field intersect at a point that is a distance 12A away fromdevice 10. Distance 12A may define the near field of view. In this case,an object closer than a distance 12A and in between optical transmitter16 and optical receiver 20 may not be captured.

However, a user of device 10 may find it desirable to determine depthmap for an image where the object is closer than a distance 12A Asdescribed above, designing device 10 so that the near field of view iscloser than distance 12A may require extensive testing and a specializednumber of component options because various characteristics of opticaltransmitter 16 and optical receiver 20 interplay with one another,limiting the number of available components that are usable to create astructured light system having the desired near field of view and alsowith minimal impact on the far field of view.

As illustrated in FIG. 1B, optical transmitter 16 is tiled or angledrelative to optical receiver 20. For instance, optical transmitter 16and optical receiver 20 are not oriented in the same direction (e.g.,are not facing the same direction). Although optical transmitter 16 isillustrated as tilted relative to optical receiver 20, in general, oneof optical transmitter 16 or optical receiver 20 is parallel with a faceof device 10, and the other one of optical transmitter 16 or opticalreceiver 20 is tilted relative to the face of device 10. For example,optical transmitter and optical receiver 20 may both be on the back-faceof device 10, where the front-face includes the interface with which theuser interacts. Optical receiver 20 may be parallel with the back-faceof device 10, and optical transmitter 16 may be tilted relative to theback-face of device 10, as illustrated in FIG. 1B. However, in someexamples, optical transmitter 16 may be parallel with the back-face ofdevice 10, and optical receiver 20 may be tilted relative to theback-face of device 10. In these examples, optical transmitter 16 may beconsidered tilted (angled) relative to optical receiver 20.

It may be possible for both optical receiver 20 and optical transmitter16 to be angled relative to the back-face of device 10. For suchexamples, optical transmitter 16 may be tilted relative to opticalreceiver 20 because optical transmitter 16 and optical receiver 20 arenot facing the some direction and/or the respective optical axesintersect.

Similar to FIG. 1A, optical transmitter 16 transmits the structuredlight that spreads at an angle of view 17 along optical axis 22B.Optical axis 22B is perpendicular to optical transmitter 16 like opticalaxis 22A in FIG. 1A. However, in FIG. 1B, optical axis 22B and opticalaxis 24 of optical receiver 20 intersect one another, unlike in FIG. 1Awhere optical axis 22A and optical axis 24 are parallel. Accordingly, inFIG. 1B, optical transmitter 16 is angled relative to optical receiver20 so that transmitter optical axis 22B intersects receiver optical axis24. The angle of tilt of optical transmitter 16 relative to opticalreceiver 20 is defined by angle of tilt 46 (e.g., angle formed by theintersection). Angle of tilt 46 may be approximately 1° to 2°, but otherangles are contemplated.

In FIG. 1B, the projection field intersects the capture field at point34 that is a distance 12B away from device 10. Distance 12B is less thandistance 12A, and therefore, by tilting (angling) optical transmitter16, the techniques described in this disclosure may make the near fieldof view closer to device 10 without needing to rely on specializedcomponents and allowing use of a wide variety of optical componenttypes.

However, tilting optical transmitter 16 results in extra computationsfor generating the depth map. For instance, the location where thereflected pattern or codeword would appear on optical receiver 20 in theexample illustrated in FIG. 1B is different than the location where thereflected pattern or codeword would appear on optical receiver 20 in theexample illustrated in FIG. 1A. Accordingly, receiver device 18 mayscale the position of each element in the received reflection of thestructured light based on an angle of tilt 46 and a focal length ofoptical receiver 20, as described in more detail.

In addition, the tilt between optical transmitter 16 and opticalreceiver 20 causes distortions in the reflected pattern or codeword. Forinstance, the reflected pattern that optical receiver 20 receives inFIG. 1B may be tilted relative to the reflected pattern that opticalreceiver 20 receives in FIG. 1A.

As described above, optical receiver 20 compares the reflected patternto known patterns to confirm that the reflected pattern is valid.Because the reflected pattern is tilted, there could possibly be someerrors in reconstructing the pattern or codeword. In some examples, thetilt may be minimal and therefore the errors are minimal and nocorrective action is needed. In some examples, optical receiver 20 maycompensate for the tilt. In some examples, the patterns or codewordsstored in local memory of receiver device 18 are tilted based on angleof tilt 46, and therefore, receiver device 18 may be able to reconstructthe patterns or codewords with no errors.

The projection field is defined by lines 28 and 32 in FIG. 1B and thecapture field is defined by lines 26 and 30 in FIG. 1B. The equation ofline 28 is z4=−x4 cot (ϕ1/2−γ), and the equation of line 32 is z3=x3cot(ϕ1/2+γ). The equation of line 26 is z2=−(x2−B)cot(ϕ2/2), and theequation of line 30 is z1=(x1−B)cot(ϕ2/2). In the above equations, ϕ1 isthe angle of view 17, ϕ2 is the angle of view 19, γ is the angle of tilt46 (also referred to as yaw), and B is the distance between opticaltransmitter 16 and optical receiver 20. In the equations, x1, x2, x3,and x4 represent a coordinate value along respective lines from whichz1, z2, z3, and z4 are determined.

The x1, x2, x3, and x4 can be seen as setting the field of view overlap.For instance, at point 34, the projection field and capture field firstintersect. From point 34 to point 38, the field of view overlap isdefined by lines 26 and 32, which can be represented as x3-x2, asillustrated by line 40. From point 38 to point 36, the field of viewoverlap is defined by lines 26 and 30, which can be represented asx1-x2, as illustrated by line 42. From point 36 and above, the field ofview overlap is defined by lines 28 and 30, which can be represented asx1-x4, as illustrated by line 44.

The location of point 34 is B/(tan(ϕ1/2+γ)+tan(ϕ2/2))(tan(ϕ1/2+γ),1).The location of point 38 is B/(tan(ϕ1/2+γ)−tan(ϕ2/2))(tan(ϕ1/2+γ),1).The location of point 36 is B/(tan(ϕ2/2)−tan(ϕ1/2−γ))(−tan(ϕ1/2−γ),1).

As illustrated in FIGS. 1A and 1B, distance 12B is less than distance12A. Accordingly, by tilting optical transmitter 16 relative to opticalreceiver 20, the yaw can be exploited to reduce the location of the nearfield of view (e.g., bring the near field of view closer to device 10).

As described above, in example techniques, receiver device 18 may needto compensate for the yaw to determine the depth map. For example, aprocessing circuit of receiver device 18 may scale a position of eachelement in the received reflection of the structured light based on theangle of tilt γ and a focal length of optical receiver 20. Theprocessing circuit may then generate the depth map based on the scaledposition of each element in the received reflection of the structuredlight, each element in the structured light that corresponds to arespective element in the received reflection of the structured light,the focal length of optical receiver 20, and a baseline distance (B)between optical transmitter 16 and optical receiver 20.

As an example, the processing circuit may implement the followingequation:Z=fB/(xT−f*((f sin γ+xR cos γ)/(f cos γ−xR sin γ))).

In the equation, Z is the depth map, f is the focal length of opticalreceiver 20, B is the distance between optical transmitter 16 andoptical receiver 20, xT is a position of an element in the transmittedstructured light, and xR is a position of the corresponding element inthe received reflection of the structured light. For example, xT and xRare positions for the same element, but xT is the location at the timeof transmission and xR is the location in the received reflection of thestructured light.

The processing circuitry of receiver device 18 may implement theequation to determine the depth value (Z) for each element. Forinstance, f*((f sin γ+xR cos γ)/(f cos γ−xR sin γ)) can be considered asthe equation that the processing unit uses to scale a position of eachelement in the received reflection of the structured light (e.g., xR).The scaling is performed based on the angle of tilt γ and the focallength f. Also, in the equation, depth map is generated from the scaledposition of each element in the received reflection of the structuredlight (e.g., xR), each element in the structured light (e.g., xT) thatcorresponds to a respective element in the received reflection of thestructured light (e.g., xR), the focal length of optical receiver 20(e.g., f), and a distance (e.g., baseline distance B) between opticaltransmitter 16 and optical receiver 20.

This disclosure describes intentionally tilting optical transmitter 16to increase near field of view and to modify disparity calculation toaccommodate known yaw. With the techniques described in this disclosure,there may be 5% gain in useful depth map size and the system componentsmay be decoupled from the performance of depth map generation (e.g.,allowing for many choices for the optical components). For example, thenear field FOV generated by optical transmitter 16 and optical receiver20 is closer to device 10 that includes optical transmitter 16 andoptical receiver 20 as compared to the example of FIG. 1A where opticaltransmitter 16 is not angled relative to optical receiver 20 and thetransmitter optical axis does not intersect the receiver optical axis.

As also described above, the tilt in optical transmitter 16 causesdistortion in the received reflection of the structured map for purposesof pattern detection or codeword detection. In some examples, theprojective distortion is handled in a grid detection algorithm whichmeans that additional corrective actions to compensate for the tilt ofoptical transmitter 16 may not be needed. For example, as describedabove, the codewords that receiver device 18 stores may already be tiledbased on known tilt angle, and therefore, when the processing circuit ofreceiver device 18 performs grid detection to determine the codewords,the processing circuit needs to perform no additional corrective actionto compensate for the tilt of optical transmitter 16.

FIG. 2 is a block diagram of a device for image processing configured toperform one or more example techniques described in this disclosure.FIG. 2 illustrates device 10 in more detail. As described above,examples of device 10 include a personal computer, a desktop computer, alaptop computer, a computer workstation, a video game platform orconsole, a wireless communication device (such as, e.g., a mobiletelephone, a cellular telephone, a table computer, a satellitetelephone, and/or a mobile telephone handset), a landline telephone, anInternet telephone, a handheld device such as a portable video gamedevice or a personal digital assistant (PDA), a personal music player, avideo player, a display device, a camera, a television, a televisionset-top box, a server, an intermediate network device, a mainframecomputer or any other type of device that processes and/or displaysgraphical data.

As illustrated in the example of FIG. 2, device 10 includes transmitterdevice 14 that includes optical transmitter 16, receiver device 18 thatincludes optical receiver 20, a central processing circuit (CPU) 45, agraphical processing circuit (GPU) 48 and local memory 50 of GPU 48,user interface 52, memory controller 54 that provides access to systemmemory 60, and display interface 56 that outputs signals that causegraphical data to be displayed on display 58.

Transmitter device 14 and receiver device 18 are similar to thosedescribed above with respect to FIGS. 1A and 1B and are not describedfurther. However, in some examples, receiver device 18 may also functionas a camera for device 10, and in such examples, receiver device 18 maybe used for depth map generation and for capturing photographic imagesor device 10 may include a separate camera to capture photographicimages. In this disclosure, receiver device 18 is described as beingused for both generating the depth map and capturing photographicimages. The processing circuit of receiver device 18 may function as acamera processor as well.

Also, although the various components are illustrated as separatecomponents, in some examples the components may be combined to form asystem on chip (SoC). As an example, the processing circuit of receiverdevice 18 may be formed with one or more of CPU 45, GPU 48, and displayinterface 56. In such examples, optical receiver 20 may be separate fromreceiver device 18. Furthermore, the examples described above withrespect to the processing circuit of receiver device 18 generating thedepth map are provided merely to ease understanding. In some examples,CPU 45, GPU 48, or some other device may be configured to perform theexamples described above for the processing circuit of receiver device18.

The various components illustrated in FIG. 2 may be formed in one ormore microprocessors, application specific integrated circuits (ASICs),field programmable gate arrays (FPGAs), digital signal processors(DSPs), or other equivalent integrated or discrete logic circuitry.Also, transmitter device 14 and receiver device 18 may include localmemory for storage of data such as patterns or codewords. Examples ofsuch local memory include one or more volatile or non-volatile memoriesor storage devices, such as, e.g., random access memory (RAM), staticRAM (SRAM), dynamic RAM (DRAM), erasable programmable ROM (EPROM),electrically erasable programmable ROM (EEPROM), flash memory, amagnetic data media or an optical storage media.

The various units illustrated in FIG. 2 communicate with each otherusing bus 62. Bus 62 may be any of a variety of bus structures, such asa third generation bus (e.g., a HyperTransport bus or an InfiniBandbus), a second generation bus (e.g., an Advanced Graphics Port bus, aPeripheral Component Interconnect (PCI) Express bus, or an AdvancedeXentisible Interface (AXI) bus) or another type of bus or deviceinterconnect. It should be noted that the specific configuration ofbuses and communication interfaces between the different componentsshown in FIG. 2 is merely exemplary, and other configurations ofcomputing devices and/or other image processing systems with the same ordifferent components may be used to implement the techniques of thisdisclosure.

CPU 45 may comprise a general-purpose or a special-purpose processorthat controls operation of device 10. A user may provide input tocomputing device 10 to cause CPU 45 to execute one or more softwareapplications. The software applications that execute on CPU 45 mayinclude, for example, an operating system, a word processor application,an email application, a spread sheet application, a media playerapplication, a video game application, a graphical user interfaceapplication or another program. The user may provide input to computingdevice 10 via one or more input devices (not shown) such as a keyboard,a mouse, a microphone, a touch pad or another input device that iscoupled to computing device 10 via user interface 52.

As one example, the user may execute an application that generatesgraphical data for stereoscopic images. The application may use imagescaptured by optical receiver 20. In such examples, transmitter device 14and receiver device 18 may together perform the example techniquesdescribed in this disclosure to generate a depth map. The applicationexecuting on CPU 45 may use the depth map and the captured images.

For instance, CPU 45 may transmit instructions and data to GPU 48 torender graphical images. In such examples, the application executing onCPU 45 may transmit instructions, the depth map, and other data to GPU48 instructing GPU 48 to generate stereoscopic images. For example, GPU48 includes a plurality of parallel pipelines which are a combination offixed-function circuits and programmable circuits, and GPU 48 processespixels through the parallel pipelines to generate the stereoscopicimages.

Memory controller 54 facilitates the transfer of data going into and outof system memory 60. For example, memory controller 54 may receivememory read and write commands, and service such commands with respectto memory 60 in order to provide memory services for the components incomputing device 10. Memory controller 54 is communicatively coupled tosystem memory 60. Although memory controller 54 is illustrated in theexample computing device 10 of FIG. 2 as being a processing module thatis separate from both CPU 45 and system memory 60, in other examples,some or all of the functionality of memory controller 54 may beimplemented on one or both of CPU 45 and system memory 60.

System memory 60 may store program modules and/or instructions and/ordata that are accessible by transmitter device 14, receiver device 18,CPU 45, and GPU 48. For example, system memory 60 may store userapplications and graphics data associated with the applications. Systemmemory 60 may additionally store information for use by and/or generatedby other components of computing device 10. For example, system memory60 may act as a device memory for transmitter device 14 and receiverdevice 18 (e.g., device memory for the camera processor of receiverdevice 18). System memory 60 may include one or more volatile ornon-volatile memories or storage devices, such as, for example, randomaccess memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), read-onlymemory (ROM), erasable programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), flash memory, a magnetic data media or anoptical storage media.

In some aspects, system memory 60 may include instructions that causetransmitter device 14, receiver device 18, CPU 45, GPU 48, and displayinterface 56 to perform the functions ascribed in this disclosure totransmitter device 14, receiver device 18, CPU 45, GPU 48, and displayinterface 56. Accordingly, system memory 60 may be a computer-readablestorage medium having instructions stored thereon that, when executed,cause one or more processors (e.g., processing circuits of transmitterdevice 14 and/or receiver device 18 and CPU 45, GPU 48, and displayinterface 56) to perform various functions.

In some examples, system memory 60 is a non-transitory storage medium.The term “non-transitory” indicates that the storage medium is notembodied in a carrier wave or a propagated signal. However, the term“non-transitory” should not be interpreted to mean that system memory 60is non-movable or that its contents are static. As one example, systemmemory 60 may be removed from device 10, and moved to another device. Asanother example, memory, substantially similar to system memory 60, maybe inserted into device 10. In certain examples, a non-transitorystorage medium may store data that can, over time, change (e.g., inRAM).

Receiver device 18, CPU 45, and GPU 48 may store depth maps, image data,rendered image data, and the like in respective buffers that isallocated within system memory 60. Display interface 56 may retrieve thedata from system memory 60 and configure display 58 to display the imagerepresented by the rendered image data. In some examples, displayinterface 56 may include a digital-to-analog converter (DAC) that isconfigured to convert the digital values retrieved from system memory 60into an analog signal consumable by display 58. In other examples,display interface 56 may pass the digital values directly to display 58for processing.

Display 58 may include a monitor, a television, a projection device, aliquid crystal display (LCD), a plasma display panel, a light emittingdiode (LED) array, a cathode ray tube (CRT) display, electronic paper, asurface-conduction electron-emitted display (SED), a laser televisiondisplay, a nanocrystal display or another type of display unit. Display58 may be integrated within computing device 10. For instance, display58 may be a screen of a mobile telephone handset or a tablet computer.Alternatively, display 58 may be a stand-alone device coupled tocomputing device 10 via a wired or wireless communications link. Forinstance, display 58 may be a computer monitor or flat panel displayconnected to a personal computer via a cable or wireless link.

FIG. 3 is a flow chart of a method of image processing for performingone or more example techniques described in this disclosure. The imageprocessing may be for generating a depth map of an object, which canthen be used to generate stereoscopic images that provide the viewerwith a perception of depth.

As illustrated, transmitter device 14 via optical transmitter 16 maytransmit structured light, optical transmitter 16 having (e.g.,defining) a first angle of view 17 relative to transmitter optical axis22B (70). Transmitting the structured light may include transmitting apattern via the structured light. Receiver device 18, via opticalreceiver 20, may receive a reflection of the structured light, opticalreceiver 20 having (e.g., defining) a second angle of view 19 relativeto receiver optical axis 24 (72). Receiving the reflection of thestructured light may include receiving a distorted pattern via thereflection.

Receiver device 18 via a processing circuit of receiver device 18 maygenerate a depth map for one or more images based on the receivedreflection of the structured light (74). For example, processingcircuitry of receiver device 18 may perform the operations of theequation for Z, where Z=fB/(xT−f*((f sin γ+xR cos γ)/(f cos γ−×R sinγ))). The processing circuitry of receiver device 18 may perform theoperations of the equation to determine the depth value (Z) for eachreceived element. As described above, the equation for Z represents thescaling used to compensate for the angle of tilt. The scaling isperformed based on the angle of tilt γ and the focal length f. Also, inthe equation, depth map is generated from scaled position of eachelement in the received reflection of the structured light (e.g., xR),each element in the structured light (e.g., xT) that corresponds to arespective element in the received reflection of the structured light(e.g., xR), the focal length of optical receiver 20 (e.g., f), and adistance (e.g., baseline distance B) between optical transmitter 16 andoptical receiver 20.

GPU 48 may generate graphical data for the one or more images based onthe generated depth map (76). For example, the depth map indicatesrelative distances of objects from device 10. GPU 48 may generate afirst image and a second image, where the first image and the secondimage include substantially similar content. However, there ishorizontal disparity between the content. As one example, GPU 48 maydetermine the amount of horizontal disparity to add to objects in thefirst and second image so that the viewer perceives the object at thedistance indicated with the depth map when the viewer views both thefirst and second image together.

For example, from testing and based on the size of display 58, amanufacturer may determine the distance away from device 10 that aviewer perceives an object for a given disparity between a first and asecond image. Based on the relationship between disparity in the imagesand distance that the viewer perceives an image, the manufacturer or acomputer model may extract a relationship between disparity and depth(e.g., distance away from device 10). GPU 48 or some other unit ofdevice 10 may store this relationship information and based on depth mapdetermined via the example techniques, determine the disparity in theobjects in the two images, and GPU 48 render the images to have thedetermined disparity in the objects.

As another example, GPU 48 or some other unit of device 10 may store alook-up table that associates disparity between objects in the first andsecond images and depth. Based on the determined depth from the depthmap and the look-up table, GPU 48 or some other unit determines thedisparity between the objects in the first and second images (e.g., theposition of the objects in the first and second images). GPU 48 rendersthe image to have the determined disparity in the objects based on thedetermined positions of the objects in the first and second images.

The previous examples provided two example algorithms to generategraphical data for the one or more images based on the generated depthmap. However, other example techniques are possible and the examplesshould not be considered limited to the above examples.

In some examples, receiver device 18 may determine whether the receiveddistorted pattern corresponds to the transmitted pattern withoutcompensating for an angle of tilt γ of optical transmitter 16 relativeto optical receiver 20. Receiver device 18 may determine a location ofwhere the distorted pattern is received by optical receiver 20, andgenerate the depth map based on the location of where the distortedpattern is received by optical receiver 20 and the angle of tilt γ ofoptical transmitter 16 relative to optical receiver 20.

In some examples, to generate the depth map, receiver device 18 mayscale a position of each element in the received reflection of thestructured light based on an angle of tilt γ of optical transmitter 16relative to optical receiver 20 and a focal length (f) of opticalreceiver 20. Receiver device 18 may generate the depth map based on thescaled position of each element in the received reflection of thestructured light, each element in the structured light that correspondsto a respective element in the received reflection of the structuredlight, the focal length of optical receiver 20, and a distance betweenoptical transmitter 16 and optical receiver 20 (e.g., baseline distanceB).

FIG. 4 is a block diagram illustrating a transmitter device and areceiver device of FIG. 2 in greater detail. FIG. 4 illustrates twopositions for optical transmitter 16. In dashes, optical transmitter 16is not tilted and its transmitter optical axis is parallel with thereceiver optical axis of optical receiver 20 (e.g., similar to FIG. 1A).In solid line, optical transmitter 16 is tilted and its transmitteroptical axis intersects with the receiver optical axis of opticalreceiver 20 (e.g., similar to FIG. 1B).

FIG. 4 also illustrates objects 78 and 80, which are each objects fromwhich the structured light that optical transmitter 16 transmits isreflected to optical receiver 20. In the example techniques,TX-processing circuit 82 may receive a codeword from memory 86 and causeoptical transmitter 16 to transmit a structured light having thatcodeword. This structured light would reflect off of object 78 andobject 80 onto optical receiver 20. RX-processing circuit 84 may convertthe received structured light into a codeword, and compare the convertedcodeword to codewords stored in memory 88 to confirm that the receivedlight actually includes a recognized codeword and is not ambient light.For the structured light, RX-processing circuit 84 may also determinewhere the codeword of the structured light was captured on opticalreceiver 20, and based on the position of the received codeworddetermine the depth of objects 78 and 80.

Prior to describing the operations to determine the depth, the followingprovides additional explanation of tilting and compensation that may beperformed. In FIG. 4, a dashed line is illustrated as being outputted bythe non-tilted example of optical transmitter 16 (dashed version), whichthen bounces off of object 78, and reflects to about the middle ofoptical receiver 20. Also, one solid line is illustrated as beingoutputted by the tilted version of optical transmitter 16 (solidversion), which then bounces off of object 78, and reflects to near theend of optical receiver 20.

As illustrated, the position to where the structured light reflects onoptical receiver 20 is different for the tilted version of opticaltransmitter 16 than it is for the non-tilted version of opticaltransmitter 16. Therefore, without compensation, RX-processing circuit84 may determine different depths for object 78 for the tilted versionof optical transmitter 16 and the non-tilted version of opticaltransmitter 16. Accordingly, for purposes of determining the depth map,RX-processing circuit 84 may perform the yaw compensation (e.g.,Z=fB/(xT−f*((f sin γ+xR cos γ)/(f cos γ−xR sin γ)))), as describedabove.

Referring to an example algorithm for determining the respective depths,as illustrated, a first solid line illustrated as being transmitted bytilted optical transmitter 16 reflects off of object 78 onto opticalreceiver 20 at a distance d1 away from the left edge of optical receiver20. A second solid line illustrated as being transmitted by tiltedoptical transmitter 16 reflects off of object 80 onto optical receiver20 at a distance d2 away from the left edge of optical receiver 20.RX-processing circuit 84 may determine a depth of object 78 and 80 basedon distances d1 and d2, respectively. For instance, objects that arecloser to device 10 tend to reflect further from the edge of opticalreceiver 20 than objects that are further away from device 10. Asillustrated, object 80 is further away than object 78. Therefore,distance d1, which is from the reflection of object 78, is further awayfrom the edge of optical receiver 20 than distance d2, which is from thereflection of object 80.

In one or more example techniques, the position of optical transmitter16 is constant relative to receiver device 18 (e.g., their respectivepositions are fixed and not moving relative to one another). Rather thanhaving optical transmitter 16 output optical signals in a scanningpattern on an object, and having optical receiver 20 receive such ascanning pattern, optical transmitter 16 may be fixed in a constantposition relative to optical receiver 20. The transmitter optical axisand the receiver optical axis may always intersect at the same pointsuch that the angle γ does not change during the generation of the depthmap.

Also, the structured light transmitted with optical transmitter 16 maybe the same during the entire generation of the depth map byRX-processing circuit 84. TX-processing circuit 82 may output astructure light having a particular pattern, and from the reflection ofthat pattern, RX-processing circuit 84 may generate a depth map. Theremay be one structured light pattern that is transmitted and received,and from this one structured light pattern, RX-processing circuit 84 maydetermine the depth map.

FIG. 5 is a graph illustrating the onset of the near field of view andfar field of view as a function of yaw. In FIG. 5, the bottom lineillustrates where the distance of the near field of view overlaps as afunction of the angle of tilt γ, and the top line illustrates where thedistance of the far field of view overlaps as a function of the angle oftilt γ.

As illustrated by the bottom line in FIG. 5, as the angle of tilt γincreases, the near field of view becomes closer to device 10, but thefar field of view also comes in closer. For example, referring back toFIG. 1B, as the angle of tilt γ increases, point 34 comes closer todevice 10 (e.g., distance 12B decreases). However, as indicated by thetop line in FIG. 5, the increase in the angle of tilt γ also causes thefar field to move closer to device 10. For example, referring back toFIG. 1B, as the angle of tilt γ increases, point 36 moves down line 26and closer to device 10. Therefore, there is a balance in how much toset the angle of tilt γ based on design for where the near field and farfield should be.

FIGS. 6A and 6B are graphs illustrating the increase in the near rangefield of view overlap. FIGS. 6A and 6B illustrate the horizontal overlapof the field of view for different yaw angles γ. The top line 90 is for2° yaw angle, then line 92 is for 1.5° angle, then line 94 is for 1°angle, then line 96 is for 0.5°, and then line 98 is for 0°. FIG. 6B isa zoomed version of FIG. 6A showing the separation for the different yawangles γ. For example, line 100 in FIG. 6B corresponds to line 90 inFIG. 6A, line 102 in FIG. 6B corresponds to line 92 in FIG. 6A, line 104in FIG. 6B corresponds to line 94 in FIG. 6A, line 106 in FIG. 6Bcorresponds to line 96 in FIG. 6A, and line 108 in FIG. 6B correspondsto line 108 in FIG. 6A. In general, increasing the yaw increases closerange field of view overlap. At sufficiently large range, the yaw causesreduced field of view.

FIGS. 7A and 7B are graphs illustrating the increase in near range fieldof view overlap as a function of yaw and distance. In FIGS. 7A and 7B,the y-axis is the field of view overlap increase. In FIG. 7A, the x-axisis the yaw angle γ, and in FIG. 7B, the x-axis is distance. Forinstance, in FIG. 7A, the graph is drawn for different distances, withthe bottom line 118 being for 3.5 m, the next one above (line 116) for 1m, above that line (line 114) for 0.85 m, above that line (line 112) for0.75 m, and above that line (line 110) for 0.5 m. In FIG. 7A, a yawangle of 1.5° is illustrated to illustrate an example yaw angle that maymaximize short range FOV overlap gain for an object at distance 3.5 m.In FIG. 7B, the graph is drawn for different yaw angles γ. The top line128 is for 2°, the next one below (line 126) is for 1.5°, the next onebelow (line 124) is for 1°, the next one below (line 122) is for 0.5°,and the next one below (line 120) is for 0°.

In the example techniques described in this disclosure, the near rangefield of view (e.g., near field FOV) may be closer to device 10, ascompared to other examples. For instance, the near field FOV generatedby optical transmitter 16 and optical receiver 20 is closer to device 10as compared to if optical transmitter 16 is not angled relative tooptical receiver 20 and the transmitter optical axis does not intersectthe receiver optical axis.

FIG. 8 is a graph illustrating pattern distortion. For instance, in FIG.8, the far left illustrates the transmitted pattern, but the reflectedand received patterns are distorted due to the angle of tilt γ (e.g.,the received pattern is slightly tilted relative to the reflectedpattern). In general, the pattern distortion due to yaw is negligiblefor small tilting angles. Receiver device 18 may accommodate the patterndistortion within a grid detection scheme for pattern detection. Forexample, as described above, RX-processing circuit 84 may need to detectthe pattern from the structured light based on codewords stored inmemory 88. If there is distortion, then RX-processing circuit 84 mayneed to perform pattern distortion compensation. One way of such patterndistortion compensation is to pre-distort the codewords stored in memory88 based on the known yaw, and therefore RX-processing circuit 84 mayperform pattern detection without errors. In other words, since the yawangle is known, the distortion field can be pre-computed, and for highprecision applications, the distortion can be compensated with no lossin accuracy. However, in some cases, the distortion caused by thetilting of optical transmitter 16 may be relatively minimal, meaningthat additional compensation by RX-processing circuit 84 is not needed.

In one or more examples, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on, as one or more instructionsor code, a computer-readable medium and executed by a hardware-basedprocessing circuit. Computer-readable media may includecomputer-readable storage media, which corresponds to a tangible mediumsuch as data storage media. In this manner, computer-readable mediagenerally may correspond to tangible computer-readable storage mediawhich is non-transitory. Data storage media may be any available mediathat can be accessed by one or more computers or one or more processorsto retrieve instructions, code and/or data structures for implementationof the techniques described in this disclosure. A computer programproduct may include a computer-readable medium.

By way of example, and not limitation, such computer-readable storagemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage, or other magnetic storage devices, flashmemory, or any other medium that can be used to store desired programcode in the form of instructions or data structures and that can beaccessed by a computer. It should be understood that computer-readablestorage media and data storage media do not include carrier waves,signals, or other transient media, but are instead directed tonon-transient, tangible storage media. Disk and disc, as used herein,includes compact disc (CD), laser disc, optical disc, digital versatiledisc (DVD), floppy disk and Blu-ray disc, where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Combinations of the above should also be included within the scope ofcomputer-readable media.

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application specific integrated circuits (ASICs), field programmablelogic arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated hardware and/or software modules configured for encoding anddecoding, or incorporated in a combined codec. Also, the techniquescould be fully implemented in one or more circuits or logic elements.

The techniques of this disclosure may be implemented in a wide varietyof devices or apparatuses, including a wireless handset, an integratedcircuit (IC) or a set of ICs (e.g., a chip set). Various components,modules, or units are described in this disclosure to emphasizefunctional aspects of devices configured to perform the disclosedtechniques, but do not necessarily require realization by differenthardware units. Rather, as described above, various units may becombined in a codec hardware unit or provided by a collection ofinteroperative hardware units, including one or more processors asdescribed above, in conjunction with suitable software and/or firmware.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A method of image processing, the methodcomprising: transmitting structured light, with an optical transmitter,the optical transmitter having a first angle of view relative to atransmitter optical axis; receiving, with an optical receiver, areflection of the structured light, the optical receiver having a secondangle of view relative to a receiver optical axis, wherein the opticaltransmitter is angled relative to the optical receiver so that thetransmitter optical axis intersects the receiver optical axis forming anangle therebetween, and wherein a position of the optical transmitterrelative to the optical receiver is constant; scaling, with processingcircuitry, a position of an element in the received reflection of thestructured light that is received at the optical receiver, whereinscaling the position of the element in the received reflection comprisesscaling the position of the element in the received reflection based onthe angle of the optical transmitter relative to the optical receiverand a focal length of the optical receiver, and wherein the position ofthe element in the received reflection corresponds to a position of theelement in the transmitted structured light; and generating a depth mapfor one or more images based at least on the scaled reflection.
 2. Themethod of claim 1, wherein the structured light transmitted with theoptical transmitter is the same during the entire generation of thedepth map.
 3. The method of claim 1, wherein generating the depth mapcomprises generating the depth map based on the scaled reflection, eachelement in the structured light that corresponds to a respective elementin the received reflection of the structured light, the focal length ofthe optical receiver, and a distance between the optical transmitter andthe optical receiver.
 4. The method of claim 1, wherein transmitting thestructured light comprises transmitting a pattern via the structuredlight, wherein receiving the reflection of the structured lightcomprises receiving a distorted pattern via the reflection, the methodfurther comprising: determining whether the received distorted patterncorresponds to the transmitted pattern without compensating for theangle of the optical transmitter relative to the optical receiver. 5.The method of claim 4, further comprising: determining a location ofwhere the distorted pattern is received by the optical receiver, whereingenerating the depth map comprises generating the depth map based on thelocation of where the distorted pattern is received by the opticalreceiver and the angle of the optical transmitter relative to theoptical receiver.
 6. The method of claim 1, further comprising:receiving the generated depth map; and generating graphical data for theone or more images based on the generated depth map.
 7. The method ofclaim 1, wherein a device includes the optical transmitter and theoptical receiver, wherein one of the optical transmitter or the opticalreceiver is parallel with a face of the device, and the other one of theoptical transmitter or the optical receiver is tilted relative to theface of the device.
 8. The method of claim 1, wherein a near field ofview (FOV) generated by the optical transmitter and the optical receiveris closer to a device that includes the optical transmitter and theoptical receiver as compared to if the optical transmitter is not angledrelative to the optical receiver and the transmitter optical axis doesnot intersect the receiver optical axis.
 9. A device for imageprocessing, the device comprising: an optical transmitter configured totransmit structured light, the optical transmitter having a first angleof view relative to a transmitter optical axis; an optical receiverconfigured to receive a reflection of the structured light, the receiverhaving a second angle of view relative to a receiver optical axis,wherein the optical transmitter is angled relative to the opticalreceiver so that the transmitter optical axis intersects the receiveroptical axis forming an angle therebetween, and wherein a position ofthe optical transmitter relative to the optical receiver is constant;and a processing circuit configured to: scale a position of an elementin the received reflection of the structured light that is received atthe optical receiver, wherein to scale the position of the element inthe received reflection, the processing circuit is configured to scalethe position of the element in the received reflection based on theangle of the optical transmitter relative to the optical receiver and afocal length of the optical receiver, and wherein the position of theelement in the received reflection corresponds to a position of theelement in the transmitted structured light; and generate a depth mapfor one or more images based at least on the scaled reflection.
 10. Thedevice of claim 9, wherein the optical transmitter transmits the samestructured light during the entire generation of the depth map.
 11. Thedevice of claim 9, wherein to generate the depth map, the processingcircuit is configured to generate the depth map based on the scaledreflection, each element in the structured light that corresponds to arespective element in the received reflection of the structured light,the focal length of the optical receiver, and a distance between theoptical transmitter and the optical receiver.
 12. The device of claim 9,wherein the optical transmitter is configured to transmit a pattern viathe structured light, wherein the optical receiver is configured toreceive a distorted pattern via the reflection, wherein the processingcircuit is configured to determine whether the received distortedpattern corresponds to the transmitted pattern without compensating forthe angle of the optical transmitter relative to the optical receiver.13. The device of claim 12, wherein the processing circuit is configuredto determine a location of where the distorted pattern is received bythe optical receiver, and wherein to generated the depth map, theprocessing circuit is configured to generate the depth map based on thelocation of where the distorted pattern is received by the opticalreceiver and the angle of the optical transmitter relative to theoptical receiver.
 14. The device of claim 9, wherein the processingcircuit comprises a first processing circuit, the device furthercomprising a second processing circuit configured to: receive thegenerated depth map from the first processing circuit; and generategraphical data for the one or more images based on the generated depthmap.
 15. The device of claim 14, wherein the first processing circuitand the second processing circuit are the same processing circuit. 16.The device of claim 9, wherein the device comprises one of: a wirelesscommunication device, a laptop, a desktop, a tablet, a camera, and avideo gaming console.
 17. The device of claim 9, wherein one of theoptical transmitter or the optical receiver is parallel with a face ofthe device, and the other one of the optical transmitter or the opticalreceiver is tilted relative to the face of the device.
 18. The device ofclaim 9, wherein a near field of view (FOV) generated by the opticaltransmitter and the optical receiver is closer to the device thatincludes the optical transmitter and the optical receiver as compared toif the optical transmitter is not angled relative to the opticalreceiver and the transmitter optical axis does not intersect thereceiver optical axis.
 19. A computer-readable storage medium includinginstructions stored thereon that when executed cause one or moreprocessors of a device for image processing to: cause an opticaltransmitter of the device to transmit structured light, the opticaltransmitter having a first angle of view relative to a transmitteroptical axis, wherein the optical transmitter is angled relative to anoptical receiver of the device so that the transmitter optical axisintersects a receiver optical axis forming an angle therebetween, andwherein a position of the optical transmitter relative to the opticalreceiver is constant; scale a position of an element in a receivedreflection of the structured light that is received at the opticalreceiver, wherein the instruction that cause the one or more processorsto scale the position of the element in the received reflection compriseinstructions that cause the one or more processors to scale the positionof the element in the received reflection based on the angle of theoptical transmitter relative to the optical receiver and a focal lengthof the optical receiver, and wherein the position of the element in thereceived reflection corresponds to a position of the element in thetransmitted structured light; and generate a depth map for one or moreimages based at least on the scaled reflection, wherein the receivedreflection is received by the optical receiver, the optical receiverhaving a second angle of view relative to the receiver optical axis. 20.The computer-readable storage medium of claim 19, wherein the structuredlight transmitted with the optical transmitter is the same during theentire generation of the depth map.
 21. A device for image processing,the device comprising: means for transmitting structured light, themeans for transmitting having a first angle of view relative to atransmitter optical axis; means for receiving a reflection of thestructured light, the means for receiving having a second angle of viewrelative to a receiver optical axis, wherein the means for transmittingis angled relative to the means for receiving so that the transmitteroptical axis intersects the receiver optical axis forming an angletherebetween, and wherein a position of the means for transmitting isconstant relative to the means for receiving; means for scaling aposition of an element in the received reflection of the structuredlight that is received at the optical receiver, wherein the means forscaling the position of the element in the received reflection comprisesmeans for scaling the position of the element in the received reflectionbased on the angle of the means for transmitting relative to the meansfor receiving and a focal length of the means for receiving, and whereinthe position of the element in the received reflection corresponds to aposition of the element in the transmitted structured light; and meansfor generating a depth map for one or more images based at least on thescaled reflection.
 22. The device of claim 21, wherein the means fortransmitting transmits the same structured light during the entiregeneration of the depth map.
 23. The device of claim 21, wherein themeans for receiving comprises a first means for receiving, and whereinthe means for generation comprises a first means for generating, thedevice further comprising: a second means for receiving the generateddepth map; and a second means for generating graphical data for the oneor more images based on the generated depth map.
 24. The device of claim21, wherein one of the means for transmitting or the means for receivingis parallel with a face of the device, and the other one of the meansfor transmitting or the means for receiving is tilted relative to theface of the device.
 25. The device of claim 21, wherein a near field ofview (FOV) generated by the means for transmitting and the means forreceiving is closer to the device that includes the means fortransmitting and the means for receiving as compared to if the means fortransmitting is not angled relative to the means for receiving and thetransmitter optical axis does not intersect the receiver optical axis.